public class PriorityQueue {
    public int[] elem;
    public int usedSize;
 
    public PriorityQueue() {
    }
 
    /**
     * 建堆的时间复杂度：
     *
     * @param array
     */
    public void createHeap(int[] array) {
    }
 
    /**
     *
     * @param root 是每棵子树的根节点的下标
     * @param len  是每棵子树调整结束的结束条件
     * 向下调整的时间复杂度：O(logn)
     */
    private void shiftDown(int root,int len) {


        
    }
 
 
    /**
     * 入队：仍然要保持是大根堆
     * @param val
     */
    public void push(int val) {
    }
 
    private void shiftUp(int child) {
    }
 
    public boolean isFull() {
    }
 
    /**
     * 出队【删除】：每次删除的都是优先级高的元素
     * 仍然要保持是大根堆
     */
    public void pollHeap() {
    }
 
    public boolean isEmpty() {
    }
 
    /**
     * 获取堆顶元素
     * @return
     */
    public int peekHeap() {
    }
}